(defstruct binary-tree-node
value
num-elements
parent
leftchild
rightchild
)

(defun create-node (name content amount ancestor lchild rchild)
"creates a node, with each of a parameters with what is desired"

(set name (make-binary-tree-node))
(setf (binary-tree-node-value (eval name)) content)
(setf (binary-tree-node-num-elements (eval name)) amount)
(setf (binary-tree-node-parent (eval name)) ancestor)
(setf (binary-tree-node-leftchild (eval name)) lchild)
(setf (binary-tree-node-rightchild (eval name)) rchild)
(eval name)

)

(defun modify-node (name parameter argument)
"modifies the parameter of a node of a given name to a given argument"

(if (equal parameter 'value)
(setf (binary-tree-node-value (eval name)) argument)
)

(if (equal parameter 'num-elements)
(setf (binary-tree-node-num-elements (eval name)) argument)
)

(if (equal parameter 'parent)
(setf (binary-tree-node-parent (eval name)) argument)
)

(if (equal parameter 'leftchild)
(setf (binary-tree-node-leftchild (eval name)) argument)
)

(if (equal parameter 'rightchild)
(setf (binary-tree-node-rightchild (eval name)) argument)
)

name

)
